﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using RMS.DB;
using RMS.Common;

namespace RMS
{
    public partial class frmDetailApprentice : Form
    {
        private ApprenticeMng apprenticeMng = new ApprenticeMng();
        private int currentId = 0;
        public frmDetailApprentice()
        {
            InitializeComponent();
        }

        public frmDetailApprentice(int id)
        {
            InitializeComponent();
            currentId = id;
            LoadItem(id);
        }
        private void ClearAll()
        {
            txtAge.Text =
            txtDesc.Text = txtName.Text = txtPhone.Text = txtEmail.Text = txtBatch.Text = txtAddress.Text = "";
            dateTimePickerEnd.Value = dateTimePickerStart.Value = dpDOB.Value = DateTime.Now;
        }

        private void LoadItem(int id)
        {
            var item = apprenticeMng.GetItemByElements(id);
            if (item == null)
                return;

            txtName.Text = item.Name;
            txtAge.Text = Convert.ToString(item.Age);
            txtPhone.Text = item.Phone;
            txtDesc.Text = item.Description;
            txtEmail.Text = item.Email;
            txtBatch.Text = item.Batch;
            txtAddress.Text = item.Address;

            dpDOB.Value = Convert.ToDateTime(item.DOB);
            dateTimePickerStart.Value = Convert.ToDateTime(item.StartedDate);
            dateTimePickerEnd.Value = Convert.ToDateTime(item.EndDate);
        }

        private void btnAdd_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtName.Text.Trim()))
            {
                MessageBox.Show("Vui lòng nhập tên học viên.", "Chú ý");
                return;
            }
            var item = new Apprentice() { Age = txtAge.Value,
            Description = txtDesc.Text.Trim(),
            DOB = dpDOB.Value,
            EndDate = dateTimePickerEnd.Value,
            StartedDate = dateTimePickerStart.Value,
            Name = txtName.Text.Trim(),
            Phone = txtPhone.Text.Trim(),
            Address = txtAddress.Text.Trim(),
            Batch = txtBatch.Text.Trim(),
            Email = txtEmail.Text.Trim() };
            if (apprenticeMng.AddItem(item))
            {
                MessageBox.Show("Thêm mới học viên thành công.", "Thông báo");
                ClearAll();
            }
        }

        private void btnUpdate_Click(object sender, EventArgs e)
        {
            if (apprenticeMng.UpdateItem(currentId, txtName.Text.Trim(), txtAge.Value, dateTimePickerStart.Value,
            dateTimePickerEnd.Value, txtDesc.Text.Trim(), dpDOB.Value, txtPhone.Text.Trim(), txtEmail.Text.Trim(), txtBatch.Text.Trim(), txtAddress.Text.Trim()))
            {
                MessageBox.Show("Lưu thông tin thành công.", "Thông báo");
            }
        }

        private void btnDel_Click(object sender, EventArgs e)
        {
            if (currentId == 0)
            {
                MessageBox.Show("Thông tin học viên không tồn tại.", "Chú ý");
                return;
            }
            if (MessageBox.Show("Bạn có chắc chắn muốn xóa?", "Chú ý", MessageBoxButtons.YesNo) == DialogResult.No)
                return;
            if (apprenticeMng.DeleteItem(currentId))
            {
                MessageBox.Show("Xóa thông tin thành công.", "Thông báo");
                ClearAll();
            }
        }

        private void btnExit_Click(object sender, EventArgs e)
        {
            var frm = new frmApprentice { WindowState = FormWindowState.Maximized, MdiParent = ActiveForm };
            frm.Show();
            this.Close();
        }
    }
}
